package com.wg.core.controller;

import com.wg.core.thread.fiber.IFiber;

/**
 * 控制器接口，定义所有控制器的通用方法
 *
 * @author 少爷123
 */
public interface IController {
    /**
     * 获取线程通道
     *
     * @return Fiber
     */
    IFiber getFiber();

    /**
     * 初始化控制器
     */
    void init();

    /**
     * 启动控制器
     */
    void start();

    /**
     * 关闭控制器
     */
    void shutdown();

    /**
     * 检查控制器是否运行中
     *
     * @return true如果运行中，false否则
     */
    boolean isRunning();

    /**
     * 获取控制器名称
     *
     * @return 控制器名称
     */
    String getName();
}
